package com.pandai.leetcode;

public class Solution59 {
    public int[][] generateMatrix(int n) {
        int[][] nums = new int[n][n];
        int left=0;
        int right=n-1;
        int top=0;
        int bottom=n-1;
        int cnt=1;
        // 遍历过程中所有区间都采用前闭后闭的写法
        while(left<=right&&top<=bottom){
            for(int i=left;i<=right;i++){
                nums[top][i]=cnt++;
            }
            top++;
            for(int i=top;i<=bottom;i++){
                nums[i][right]=cnt++;
            }
            right--;
            for(int i=right;i>=left;i--){
                nums[bottom][i]=cnt++;
            }
            bottom--;
            for(int i=bottom;i>=top;i--){
                nums[i][left]=cnt++;
            }
            left++;
        }
        return nums;
    }
}
